Freeslot
MT_POPPYBROSSR
MT_POPPYBOMB
S_POPPYSR_LOOK_1
S_POPPYSR_LOOK_2
S_POPPYSR_HOPPING_L
S_POPPYSR_HOP_WAYPOINT_L
S_POPPYSR_HOP_L
S_POPPYSR_HOP_L1
S_POPPYSR_HOP_L2
S_POPPYSR_HOP_L3
S_POPPYSR_HOP_L4
S_POPPYSR_HOPPING_R
S_POPPYSR_HOP_WAYPOINT_R
S_POPPYSR_HOP_R
S_POPPYSR_HOP_R1
S_POPPYSR_HOP_R2
S_POPPYSR_HOP_R3
S_POPPYSR_HOP_R4
S_POPPYSR_HOP_LOOP
S_POPPYSR_CHOOSE_ATTACK
S_POPPYSR_JUMP_TARGET
S_POPPYSR_PINCH_CHECK
S_POPPYSR_JUMP_BOMB
S_POPPYSR_THROW_BOMB
S_POPPYSR_JUMP_BOMB_PINCH
S_POPPYSR_THROW_BOMB_PREPREPEAT
S_POPPYSR_THROW_BOMB_PINCH
S_POPPYSR_THROW_BOMB_REPEAT
S_POPPYSR_FALL_BOMB
S_POPPYSR_HURT_1
S_POPPYSR_HURT_2
S_POPPYSR_DEATH_START
S_POPPYSR_DEATH_GRAV
S_POPPYSR_DEATH_LAUNCH
S_POPPYSR_DEATH
S_POPPYSR_DEATH_LAND
S_POPPYSR_DEATH_EXECUTE
S_POPPYBOMB
S_POPPYBOMB_BOOM
SPR_POPB
SFX_KAHOP
SFX_KSSTOS
SFX_KSSBOM

Object MT_POPPYBROSSR
#$Name "Poppy Bros Sr."
#$Sprite POPBA0
#$Category "Kirby Bosses"
MapThingNum = 2369
SpawnHealth = 6
Damage = 2
SpawnState = S_POPPYSR_LOOK_1
SeeState = S_POPPYSR_HOPPING_L
DeathState = S_POPPYSR_DEATH_START
XDeathState = S_NULL
PainState = S_POPPYSR_HURT_1
AttackSound = sfx_SHRPGO
ActiveSound = SFX_KAHOP
PainSound = sfx_s3k5d
DeathSound = sfx_s3kb4 
RADIUS = 24*FRACUNIT
HEIGHT = 60*FRACUNIT
Flags = MF_SPECIAL|MF_BOSS|MF_SHOOTABLE|MF_GRENADEBOUNCE|MF_RUNSPAWNFUNC


State S_POPPYSR_LOOK_1
Duration = 1
SPRITENAME = POPB
SPRITEFRAME = A
NEXT = S_POPPYSR_LOOK_2
Action A_SetObjectFlags2
Var1 = MF2_FRET
Var2 = 1

State S_POPPYSR_LOOK_2
Duration = 1
SPRITENAME = POPB
SPRITEFRAME = C
NEXT = S_POPPYSR_LOOK_2
Action = A_Look
Var1 = 1

State S_POPPYSR_HOPPING_L
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = A
NEXT = S_POPPYSR_HOP_WAYPOINT_L
Action = A_PlayActiveSound

State S_POPPYSR_HOP_WAYPOINT_L
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = A
NEXT = S_POPPYSR_HOP_L
Action = A_FindTracer
Var1 = MT_BOSS3WAYPOINT
Var2 = 0

State S_POPPYSR_HOP_L
Duration = 1
SPRITENAME = POPB
SPRITEFRAME = A
NEXT = S_POPPYSR_HOP_L1
Action = A_Thrust
Var2 = 1

State S_POPPYSR_HOP_L1
Duration = 6
SPRITENAME = POPB
SPRITEFRAME = A
NEXT = S_POPPYSR_HOP_L2
Action = A_Boss5Jump

State S_POPPYSR_HOP_L2
Duration = 1
SPRITENAME = POPB
SPRITEFRAME = B
Var1 = S_POPPYSR_HOP_WAYPOINT_R
Var2 = S_POPPYSR_HOP_L3
NEXT = S_POPPYSR_HOP_L2
Action = A_Boss5CheckFalling

State S_POPPYSR_HOP_L3
Duration = 3
SPRITENAME = POPB
SPRITEFRAME = D
Var1 = S_POPPYSR_HOP_WAYPOINT_R
NEXT = S_POPPYSR_HOP_L4
Action = A_Boss5CheckOnGround

State S_POPPYSR_HOP_L4
Duration = 3
SPRITENAME = POPB
SPRITEFRAME = E
Var1 = S_POPPYSR_HOPPING_R
NEXT = S_POPPYSR_HOP_L4
Action = A_Boss5CheckOnGround

State S_POPPYSR_HOPPING_R
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = A
NEXT = S_POPPYSR_HOP_WAYPOINT_R
Action = A_PlayActiveSound

State S_POPPYSR_HOP_WAYPOINT_R
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = F
NEXT = S_POPPYSR_HOP_R
Action = A_FindTracer
Var1 = MT_FANGWAYPOINT
Var2 = 1

State S_POPPYSR_HOP_R
Duration = 1
SPRITENAME = POPB
SPRITEFRAME = F
NEXT = S_POPPYSR_HOP_R1
Action = A_Thrust
Var2 = 1

State S_POPPYSR_HOP_R1
Duration = 6
SPRITENAME = POPB
SPRITEFRAME = F
NEXT = S_POPPYSR_HOP_R2
Action = A_Boss5Jump

State S_POPPYSR_HOP_R2
Duration = 1
SPRITENAME = POPB
SPRITEFRAME = E
Var1 = S_POPPYSR_HOP_WAYPOINT_L
Var2 = S_POPPYSR_HOP_R3
NEXT = S_POPPYSR_HOP_R2
Action = A_Boss5CheckFalling

State S_POPPYSR_HOP_R3
Duration = 3
SPRITENAME = POPB
SPRITEFRAME = C
Var1 = S_POPPYSR_HOP_WAYPOINT_L
NEXT = S_POPPYSR_HOP_R4
Action = A_Boss5CheckOnGround

State S_POPPYSR_HOP_R4
Duration = 3
SPRITENAME = POPB
SPRITEFRAME = A
Var1 = S_POPPYSR_HOP_LOOP
NEXT = S_POPPYSR_HOP_R4
Action = A_Boss5CheckOnGround

State S_POPPYSR_HOP_LOOP
SpriteName = POPB
SpriteFrame = A
Action = A_Repeat
Duration = 0
Var1 = 1
Var2 = S_POPPYSR_HOPPING_L
Next = S_POPPYSR_JUMP_TARGET

State S_POPPYSR_HURT_1
Duration = 1
SPRITENAME = SPR_POPB
SPRITEFRAME = K
NEXT = S_POPPYSR_HURT_2
Action A_DoNPCPain
Var1 = FRACUNIT

State S_POPPYSR_HURT_2
Duration = 1
SPRITENAME = SPR_POPB
SPRITEFRAME = K
NEXT = S_POPPYSR_HURT_2
Action A_Boss5CheckOnGround
Var1 = S_POPPYSR_HOPPING_R

State S_POPPYSR_JUMP_TARGET
Duration = 2
SPRITENAME = POPB
SPRITEFRAME = J
Next = S_POPPYSR_PINCH_CHECK
Action A_LookForBetter
Var1 = 1
Var2 = 0

State S_POPPYSR_PINCH_CHECK
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = J
Next = S_POPPYSR_JUMP_BOMB
Action A_CheckHealth
Var1 = 2
Var2 = S_POPPYSR_JUMP_BOMB_PINCH

State S_POPPYSR_JUMP_BOMB
Duration = 20
SPRITENAME = POPB
SPRITEFRAME = J
NEXT = S_POPPYSR_THROW_BOMB
Action A_ZThrust
Var1 = 12
Var2 = (1<<16)|1

State S_POPPYSR_THROW_BOMB
Duration = 2
SPRITENAME = POPB
SPRITEFRAME = F
Next = S_POPPYSR_FALL_BOMB
Action A_BrakLobShot
Var1 = MT_FBOMB
Var2 = 32+(1<<16)

State S_POPPYSR_JUMP_BOMB_PINCH
Duration = 5
SPRITENAME = POPB
SPRITEFRAME = J
NEXT = S_POPPYSR_THROW_BOMB_PREPREPEAT
Action A_ZThrust
Var1 = 18
Var2 = (1<<16)|1

State S_POPPYSR_THROW_BOMB_PREPREPEAT
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = F
Next = S_POPPYSR_THROW_BOMB_PINCH
Action A_PrepareRepeat
Var1 = 5

State S_POPPYSR_THROW_BOMB_PINCH
Duration = 15
SPRITENAME = POPB
SPRITEFRAME = F
Next = S_POPPYSR_THROW_BOMB_REPEAT
Action A_BrakLobShot
Var1 = MT_FBOMB
Var2 = 32+(1<<16)

State S_POPPYSR_THROW_BOMB_REPEAT
SpriteName = POPB
SpriteFrame = A
Action = A_Repeat
Duration = 0
Var1 = 5
Var2 = S_POPPYSR_THROW_BOMB_PINCH
Next = S_POPPYSR_FALL_BOMB

State S_POPPYSR_FALL_BOMB
Duration = 3
SPRITENAME = POPB
SPRITEFRAME = A
Var1 = S_POPPYSR_LOOK_1
NEXT = S_POPPYSR_FALL_BOMB
Action = A_Boss5CheckOnGround

State S_POPPYSR_DEATH_START
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = L
NEXT = S_POPPYSR_DEATH_GRAV
Action = A_FindTracer
Var1 =  MT_BOSSFLYPOINT
Var2 = 0

State S_POPPYSR_DEATH_GRAV
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = L
NEXT = S_POPPYSR_DEATH_LAUNCH
Action = A_DoNPCPain
Var2 = fracunit

State S_POPPYSR_DEATH_LAUNCH
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = L
NEXT = S_POPPYSR_DEATH
Action = A_Boss5Jump

State S_POPPYSR_DEATH
Duration = 2
SPRITENAME = POPB
SPRITEFRAME = L
NEXT = S_POPPYSR_DEATH_LAND
Action = A_BossScream

State S_POPPYSR_DEATH_LAND
Duration = 0
SPRITENAME = POPB
SPRITEFRAME = L
NEXT = S_POPPYSR_DEATH
Action = A_Boss5CheckOnGround
Var1 = S_POPPYSR_DEATH_EXECUTE

State S_POPPYSR_DEATH_EXECUTE
SpriteName = NULL
SpriteFrame = A
Action = A_LinedefExecute
Duration = 0
Var1 = 65531
Next = S_TNTBARREL_EXPL1
